﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Xml;

using Барс.Своды.АргументыСобытийОтчетнойФормы;
using Барс.Своды.ОтчетнаяФорма;
using Барс.Своды.ТипыЯчеек;
using Барс.Своды.Увязки;

namespace Барс.Своды
{
	public partial class МодульФормы_Анализ_средств_род_сертиф : БазовыйОбработчикФормы
	{/*
		public string ПолучитьНаименованиеЭлементаЦепочки()
        {
            ЭлементЦепочки текущийЭлементЦепочки;
            
            Выборка<ЭлементЦепочки> выборкаЭлементаЦепочки = new Выборка<ЭлементЦепочки>();
            выборкаЭлементаЦепочки.Запрос.ДобавитьУсловиеОтбора("Учреждение", Форма.Идентификатор.Учреждение);
            выборкаЭлементаЦепочки.Запрос.ДобавитьУсловиеОтбора("ЦепочкаСдачи", ((КомпонентОтчетногоПериода)Форма.Идентификатор.КомпонентОтчетногоПериода).ЦепочкаСдачи);
            выборкаЭлементаЦепочки.Загрузить();
            
            if(выборкаЭлементаЦепочки.КоличествоЗаписей > 0)
            {
                текущийЭлементЦепочки = выборкаЭлементаЦепочки[0];
                return текущийЭлементЦепочки.Наименование;
            }
            else
            {
                return string.Empty;
            }            
        }


		#region Получить словарь констант
		public override Dictionary<string, object> ПолучитьСловарьКонстант()
		{
			Dictionary<string,object> константы = new Dictionary<string,object>();
			DateTime CurrD = DateTime.Parse(Форма.Идентификатор.КомпонентОтчетногоПериода.Код);
			константы.Add("ОтчётныйПериод", "01.01.2011 г. - " + CurrD.ToString("dd.MM.yyyy г."));
            if(Форма.Идентификатор.ЭлементЦепочки.ToString() == "Абонент")
			{
				константы.Add("Наименование",Форма.Идентификатор.Учреждение.ПолноеНаименование);
			}else
			{
				константы.Add("Наименование",ПолучитьНаименованиеЭлементаЦепочки());
			}			
			return константы;
		}
		#endregion

		#region Получить список запросов форм
		public override List<ЗапросНаПолучениеФормы> ПолучитьСписокЗапросовФорм( string ИмяОперации )
		{
			//Для корретной работы данного макроса необходимо заполнить параметры "ИмяОперации" и "КодФормы"
		
			List<ЗапросНаПолучениеФормы> результат = new List<ЗапросНаПолучениеФормы>();
			if( ИмяОперации == "ОбработатьСобытиеФормированияМежформенныхУвязок")
			{
				ЗапросНаПолучениеФормы запрос = new ЗапросНаПолучениеФормы( "Анализ_средств_род_сертиф" );
				//запрос.КодОтчетногоПериода = "2011";				
				запрос.КодОтчетногоПериода = Форма.Идентификатор.КомпонентОтчетногоПериода.IОтчетныйПериод.Код;
				DateTime CurrD = DateTime.Parse(Форма.Идентификатор.КомпонентОтчетногоПериода.Код);
				if (CurrD > DateTime.Parse("2011-12-05"))
				{
					запрос.КодКомпонетаПериода = CurrD.AddDays(-30).ToString("yyyy-MM-dd");
					результат.Add( запрос );
				}
				return результат;
			}
			return null;
		}
		#endregion

		#region Событие формирования межформенных увязок
		public override List<ОбъектУвязки> ОбработатьСобытиеФормированияМежформенныхУвязок()
		{
			List<ОбъектУвязки> результат = new List<ОбъектУвязки>();
			if (this.РезультатыЗапросаФорм.Count == 1)
			{
				ДанныеФормы ПрошлаяФорма = РезультатыЗапросаФорм["Анализ_средств_род_сертиф"];
				if (ПрошлаяФорма.ДанныеЗагружены)
				{
					//результат.Add(new ОбъектУвязки(ТипОшибкиПроверкиУвязки.НетУвязок,"Проверка", "Предыдущие данные найдены", true));
					for (int i = 26; i <= 29; i++)
					{
						decimal PrevValue = ПрошлаяФорма.Таблицы["таблица"].МатрицаЗначений.Строки["1"].Ячейки[i.ToString()].ЗначениеЧисло;
						decimal CurrValue = Форма.Таблицы["таблица"].МатрицаЗначений.Строки["1"].Ячейки[i.ToString()].ЗначениеЧисло;
						if (PrevValue > CurrValue)
						{
							результат.Add(new ОбъектУвязки(ТипОшибкиПроверкиУвязки.ОшибкаЗаполненияФормы, "Ошибка заполнения - столбец " + i.ToString() + ": текущие данные (" + CurrValue.ToString() + ") меньше, чем прошлые (" + PrevValue.ToString() + ")!", "Ошибка заполнения - столбец " + i.ToString() + ": текущие данные (" + CurrValue.ToString() + ") меньше, чем прошлые (" + PrevValue.ToString() + ")!", true));
						}
					}
				}else
				{
					//Данные не загружены
					результат.Add(new ОбъектУвязки(ТипОшибкиПроверкиУвязки.Предупреждение,"Предыдущие данные не найдены", "Предыдущие данные не найдены! Скорее всего их забыли внести в прошлый раз.", true));
				}
				
			}else
			{
				//Данные не найдены
				результат.Add(new ОбъектУвязки(ТипОшибкиПроверкиУвязки.Предупреждение,"Предыдущие данные не найдены", "Предыдущие данные не найдены! Скорее всего их забыли внести в прошлый раз.", true));
			}
			
			
			return результат;
		}
		#endregion
*/
	}
}